package com.bzy.blp.upms.service;

import com.bzy.blp.model.TSystemRoleInfoDat;

import java.util.List;
import java.util.Set;

public interface RoleService {


    TSystemRoleInfoDat findOne(Long roleId) throws Exception;

    /**
     * 根据应用编号与用户编号得到角色标识符列表（用于控制角色）
     * @param userId
     * @param appId
     * @return
     */
    Set<String> findRoles(Long userId, Long appId) throws Exception;

    /**
     * 根据角色编号得到权限字符串列表（用于控制权限）
     * @param userId
     * @param appId
     * @return
     */
    Set<String> findPermissions(Long userId, Long appId) throws Exception;


    /**
     * 获取用户权限id（这里一个应用只能有一个权限）
     * @param userId
     * @param appId
     * @return
     * @throws Exception
     */
    Long findRoleIdByUserIdAndAppId(Long userId, Long appId) throws Exception;

    /**
     * 获取应用的所有权限id
     * @return
     * @throws Exception
     */
    List<Long> findRoleIdListByAppId(Long appId) throws Exception;
}
